/*
* 开放了源码随之而来的就是升级合并的问题 一旦您修改了我们开放的源码 下次升级 势必要合并
* 因此为了更方便的升级 我们特新增了此js 内容是空的  需要您来补充
* 1  改写callback.js
* 例如
 MagicalCallback.prototype.after_start = function (param) {
    //alert("实际执行的地方在这里")
 }
*
*
*
*
* 2 改变 application-env.js
* 是您的个性化配置的地方 如果我们要个性化定制里面的配置如何做呢
* var env = APPLICATION_ENV.getEnv();
* env.log.debug = false;
* env.keys=[]
* ...
* 这样就改写了配置 因为系统中采用APPLICATION_ENV对象下的配置 所以在还为使用之前我们就改写它
*
*
* 以上写法可以轻松覆盖callback.js application-env.js
* */
/**
 * 初始化布局器成功后执行：您可以调用api.insert(...)来初始化布局器的默认数据
 * @param api 接口api对象 具体方法参考api.js
 */
// MagicalCallback.prototype.after_start = function (param) {
//     var api = param.api;
//     var pageId = this.getParameter("pageId");
//     console.log(param)
//     if(pageId){
//         $.getJSON(APPLICATION_ENV.getEnv().serverPath+"admin/user_project_page_rest/get/"+pageId,{date:new Date().getTime()},function (data) {
//             if(data.flag){
//                 var item = data.data;
//                 if(item){
//                     if(item.pageHtml){
//                         api.insert({html:item.pageHtml,javascript:item.pageJs,css:item.css,magicalJsCodeData:JSON.parse(item.magicalJsCodeData),canvasStyle:JSON.parse(item.canvasStyle)});
//                     }
//                 }
//             }else {
//                 layer.msg(data.desc);
//             }
//         })
//         //加载我自定义的组件 参考即可 不是必须的
//         var addDataFun = {
//             add:function (api,data,title) {
//                 if(data.flag){
//                     var list = data.data;
//                     if(list && list.length>0){
//                         var item = {
//                             name:title,
//                             children:[]
//                         }
//                         for(var i=0;i<list.length;i++){
//                             var itemObj = list[i];
//                             item.children.push({name:itemObj.componentName,icon:"",html:itemObj.contentHtml});
//                         }
//                         if(title=='用户自定义'){
//                             api.getConstant().components.unshift(item);
//                         }else {
//                             api.getConstant().components.push(item);
//                         }
//                         api.rebuildLeftComponents();
//                     }
//                 }else {
//                     layer.msg(data.desc)
//                 }
//             }
//         }
//         $.getJSON(APPLICATION_ENV.getEnv().serverPath+"admin/user_component_rest/page",{uiFirst:api.getConstant().UI_NAME,safeOrderBy:"sort_num asc",page:1,limit:1000},function (data) {
//             addDataFun.add(api,data,"用户自定义");
//         })
//         $.getJSON(APPLICATION_ENV.getEnv().serverPath+"admin/user_component_enjoin_rest/page",{uiFirst:api.getConstant().UI_NAME,safeOrderBy:"sort_num asc",page:1,limit:1000},function (data) {
//             addDataFun.add(api,data,"用户分享");
//         })
//     }
// }
/**
 * 保存按钮
 * @param param.html 源码部分            string
 * @param param.rootNode 当前布局器JSON  JSON
 * @param param.javascript 脚本         string
 * @param param.css 样式         string
 * @param param.magicalJsCodeData 脚本编辑器数据  JSON
 * @param param.canvasStyle 画布样式         JSON
 */
MagicalCallback.prototype.save_html = function (param) {
    console.log(param)
    var html = param.html,javascript=param.javascript,css=param.css,magicalJsCodeData=JSON.stringify(param.magicalJsCodeData),canvasStyle=JSON.stringify(param.canvasStyle);
    var formId = this.getParameter("formId");
    html = html.replace(/</g,"&lt;");
    html = html.replace(/>/g,"&gt;");
    axios({
        url:APPLICATION_ENV.getEnv().serverPath+"/base/formBase/saveForm",
        method: 'post',
        data: {id:formId,html:html,js:javascript,css:css,magicalJsCodeData:magicalJsCodeData,canvasStyle:canvasStyle,rootNode: JSON.stringify(param.rootNode)},
        headers:{
            'Content-Type':'application/json;charset=utf-8',
            'Authorization': APPLICATION_ENV.getEnv().token
        }
    }).then(res => {
        if(res.code === 200){
            layer.msg("success");
            setTimeout(() => {
                window.open("about:blank","_top").close()
            }, 2000)
        }else {
            layer.msg(res.desc);
        }
    })
}

/**
 * 初始化布局器成功后执行：您可以调用api.insert(html,javascript)来初始化布局器的默认数据
 * @param param.api 接口api对象 具体方法参考api.js
 *
 * ！！！！！！！！！！
 * 这个方法可能在<script type="text/javascript" src="assets/drag/js/user/demo/my-callback-echarts.js"></script>重写了
 * demo/是我们提供的一系列示例 您可以参考
 * 如果希望代码进入这里 您可以在index-xxx.html里删除上面的这行代码my-callback-echarts.js的引用
 */
MagicalCallback.prototype.after_start = function (param) {
    window.parent.loading = true
    var api = param.api
    var formId = this.getParameter("formId");
    axios({
        url:APPLICATION_ENV.getEnv().serverPath+"/base/formBase/" + formId,
        method: 'get',
        headers:{
            'Content-Type':'application/json;charset=utf-8',
            'Authorization': APPLICATION_ENV.getEnv().token
        }
    }).then(res => {
        var _res = res.data
        if (_res.code === 200) {
            if(_res.data.html){
                _res.data.html = _res.data.html.replace(/&lt;/g,"<");
                _res.data.html = _res.data.html.replace(/&gt;/g,">");
                api.insert({html:_res.data.html,javascript:_res.data.js,css:_res.data.css,magicalJsCodeData:JSON.parse(_res.data.magicalJsCodeData),canvasStyle:JSON.parse(_res.data.canvasStyle)});
            }
        }
        window.parent.loading = false
    })
}
